home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / tbicon / tbicon.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-04-04  |  3.0 KB  |  101 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Form1"
  4.    ClientHeight    =   1335
  5.    ClientLeft      =   1515
  6.    ClientTop       =   4560
  7.    ClientWidth     =   2700
  8.    Height          =   2025
  9.    Icon            =   "TBIcon.frx":0000
  10.    Left            =   1455
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   1335
  13.    ScaleWidth      =   2700
  14.    ShowInTaskbar   =   0   'False
  15.    Top             =   3930
  16.    Visible         =   0   'False
  17.    Width           =   2820
  18.    Begin VB.PictureBox pichook 
  19.       Height          =   555
  20.       Left            =   540
  21.       ScaleHeight     =   495
  22.       ScaleWidth      =   795
  23.       TabIndex        =   0
  24.       Top             =   480
  25.       Width           =   855
  26.    End
  27.    Begin VB.Menu mnuBar 
  28.       Caption         =   "PopupMenu"
  29.       Begin VB.Menu mnuMain 
  30.          Caption         =   "Quit"
  31.          Index           =   0
  32.       End
  33.    End
  34. Attribute VB_Name = "Form1"
  35. Attribute VB_Creatable = False
  36. Attribute VB_Exposed = False
  37. Option Explicit
  38. Private Type NOTIFYICONDATA
  39.     cbSize As Long
  40.     hWnd As Long
  41.     uId As Long
  42.     uFlags As Long
  43.     ucallbackMessage As Long
  44.     hIcon As Long
  45.     szTip As String * 64
  46. End Type
  47. Private Const NIM_ADD = &H0
  48. Private Const NIM_MODIFY = &H1
  49. Private Const NIM_DELETE = &H2
  50. Private Const WM_MOUSEMOVE = &H200
  51. Private Const NIF_MESSAGE = &H1
  52. Private Const NIF_ICON = &H2
  53. Private Const NIF_TIP = &H4
  54. Private Const WM_LBUTTONDBLCLK = &H203
  55. Private Const WM_LBUTTONDOWN = &H201
  56. Private Const WM_LBUTTONUP = &H202
  57. Private Const WM_RBUTTONDBLCLK = &H206
  58. Private Const WM_RBUTTONDOWN = &H204
  59. Private Const WM_RBUTTONUP = &H205
  60. Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
  61. Dim t As NOTIFYICONDATA
  62. Private Sub Form_Load()
  63.     t.cbSize = Len(t)
  64.     t.hWnd = pichook.hWnd
  65.     t.uId = 1&
  66.     t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  67.     t.ucallbackMessage = WM_MOUSEMOVE
  68.     t.hIcon = Me.Icon
  69.     t.szTip = "Shell_NotifyIcon ..." & Chr$(0)
  70.     Shell_NotifyIcon NIM_ADD, t
  71.     Me.Hide
  72.     App.TaskVisible = False
  73. End Sub
  74. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  75.     t.cbSize = Len(t)
  76.     t.hWnd = pichook.hWnd
  77.     t.uId = 1&
  78.     Shell_NotifyIcon NIM_DELETE, t
  79. End Sub
  80. Private Sub mnuMain_Click(Index As Integer)
  81.     Unload Me
  82. End Sub
  83. Private Sub pichook_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  84.     Static rec As Boolean, msg As Long
  85.     msg = X / Screen.TwipsPerPixelX
  86.     If rec = False Then
  87.         rec = True
  88.         Select Case msg
  89.             Case WM_LBUTTONDBLCLK:
  90.                 MsgBox "Double click !"
  91.             Case WM_LBUTTONDOWN:
  92.             Case WM_LBUTTONUP:
  93.             Case WM_RBUTTONDBLCLK:
  94.             Case WM_RBUTTONDOWN:
  95.             Case WM_RBUTTONUP:
  96.                 Me.PopupMenu mnuBar
  97.         End Select
  98.         rec = False
  99.     End If
  100. End Sub
  101.